package com.springcloud.controller;

import com.springcloud.model.User;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;

/**
 * 由于是服务提供者所以要求控制器可以接收Http请求并返回Json数据
 */
@RestController
public class ProviderController {
    @RequestMapping("/test")
    public  Object test(){
        return "服务提供者";
    }
    @RequestMapping("/getUser")
    public  Object getUser(){
        //返回一个对象但是由于控制器指定了@RestController所以这里Spring底层其实就是将Java的User对象转换成对应的
        //JSON格式的字符串数据然后返回
        return new User("张三",23);
    }
    @RequestMapping("/getUserList")
    public  Object getUserList(){
        List<User> list=new ArrayList<User>();
        list.add(new User("张三",23));
        list.add(new User("李四",24));
        return list;
    }

    /**
     * 对方服务提供者来说这个方法仅仅是普通的控制器方法,因此接收请求参数的方式与在SpringMVC中完全一致
     */
    @RequestMapping("/params")
    public  Object params(String name,Integer age){
        return new User(name+"---服务提供者",age);
    }

    @PostMapping("/postTest")
    public  Object postTest(String name,Integer age){
        return new User(name+"---服务提供者",age);
    }
    @PutMapping("/putTest")
    public  Object putTest(String name,Integer age){
        System.out.println(name);
        System.out.println(age);
        return new User(name+"---服务提供者",age);
    }
    @DeleteMapping("/deleteTest")
    public  Object deleteTest(Integer id){
        System.out.println(id);

        return "删除成功";
    }
}
